/*初始化 Store 的实例对象：  */
// 1. 导入 Vue 和 Vuex
import Vue from 'vue'
import Vuex from 'vuex'
// 1. 导入购物车的 vuex 模块
import moduleCart from './cart.js'
//导入用户信息模块
import moduleUserInfo from './userInfo.js'

//2.将vuex安装为vue的插件
Vue.use(Vuex)

// 3.创建store实例对象
const store = new Vuex.Store({
  state: {
    // 存放状态
  },
  actions: {
    // 提交mutation，异步操作
  },
  mutations: {
    // 更改state中状态的逻辑，同步操作
  },
  getters: {
    // state的计算属性
  },
  // 如果将store分成一个个的模块的话，则需要用到modules。
  //然后在每一个module中写state, getters, mutations, actions等。
  //挂载 store 模块
  modules: {
    /*挂载购物车的 vuex 模块，模块内成员的访问路径被调整为 m_cart，
    例如：购物车模块中 cart 数组的访问路径是 m_cart/cart*/
    m_cart: moduleCart,
    m_userInfo:moduleUserInfo
  }
})
// 4.向外共享store对象
export default store
